home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / Triad.dxr / Internal_1_stock cards.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  1.3 KB  |  48 lines

  1. property spriteNum, wastecard
  2. global stock, waste, redeals
  3.  
  4. on beginSprite me
  5.   redeals = 0
  6.   stock = new(script("card pile"))
  7.   stock.cards = shuffle()
  8.   wastecard = sprite(12)
  9. end
  10.  
  11. on mouseDown me
  12.   if sprite(spriteNum).member = member("backofcard", "playing cards") then
  13.     puppetSound(3, member("deal card", "100GPak Generic SFX"))
  14.     wastecard.member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
  15.     stock.cards.deleteAt(1)
  16.     waste.addCard(wastecard.spriteNum)
  17.     if stock.getcardcount() = 0 then
  18.       sprite(spriteNum).member = member("empty", "playing cards")
  19.       checklose()
  20.     end if
  21.   end if
  22. end
  23.  
  24. on shuffle me
  25.   ranks = ["ace", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "jack", "queen", "king"]
  26.   suits = ["hearts", "diamonds", "clubs", "spades"]
  27.   unshuffledCards = []
  28.   shuffledCards = []
  29.   repeat with rank in ranks
  30.     repeat with suit in suits
  31.       unshuffledCards.add([#rank: rank, #suit: suit])
  32.     end repeat
  33.   end repeat
  34.   repeat while unshuffledCards.count > 0
  35.     shuffledCards.add(unshuffledCards[random(unshuffledCards.count)])
  36.     unshuffledCards.deleteOne(shuffledCards[shuffledCards.count])
  37.   end repeat
  38.   return shuffledCards
  39. end
  40.  
  41. on reshuffle arg
  42.   sho = []
  43.   repeat with i = 1 to arg.count
  44.     sho.add([#rank: arg[i].rank, #suit: arg[i].suit])
  45.   end repeat
  46.   return sho
  47. end
  48.